Automatic transmission shifter for velocipedes

ABSTRACT

An automatic speed range shifter for bicycles is disclosed which produces a downshift when a predetermined pedal force is exceeded and which produces an upshift when a predetermined pedal rotational speed is exceeded. A pedal force sensor includes a strain gage element on an arm supporting an idler sprocket for the chain. A pedal rotational speed sensor includes a magnet/coil coacting with the pedal crank. A microcomputer receives inputs from the force and speed sensors and produces control signals for the automatic shifter. The automatic shifter includes a front shifter actuator including a reversible electrical servo motor which is coupled by a cable with the front derailleur. It also includes a rear shifter actuator with a reversible servo motor which is coupled by a cable with the rear derailleur.

FIELD OF THE INVENTION

This invention relates to power transmissions for vehicles; moreparticularly, it relates to automatic ratio-changing power transmissionsfor bicycles and other velocipedes.

BACKGROUND OF THE INVENTION

For many years it has been a common practice of bicycle manufacturers toprovide, as original equipment, ratio-changing power transmissions inthe power train between the pedal crank and the traction wheel of thebicycle. The power train of most currently manufactured bicyclescomprises a chain and sprocket drive between the pedal crank and thetraction wheel. As used herein, the gear ratio of the transmission isthe ratio of the diameter of the drive sprocket on the pedal crank tothe diameter of the driven sprocket on the traction wheel and produces aspeed ratio of the same value between the drive and driven sprockets. Inbicycle parlance, the lowest speed ratio, i.e. lowest speed range, iscalled "first speed" (or "first gear") and higher ratios are called"second speed", "third speed", etc. A bicycle provided with atransmission having three different speed ratios is referred to as athree speed bicycle, one having ten different ratios is referred to as aten speed bicycle and so on. Bicycles are commonly provided with threespeed, ten speed, fifteen speed and twenty speed transmissions. A threespeed bicycle usually has a barrel (or drum) power transmission in whichthe ratio changing mechanism is contained within the hub of the reartraction wheel. For five speed bicycles and those having a higher numberof speeds, the different speed ratios are provided by one or moresprocket wheels (herein called "sprockets") on the pedal crank ("pedalsprockets") and a plurality of different size sprockets on the tractionwheel ("wheel sprockets"), the pedal sprockets and wheel sprockets beingcoupled by an endless chain. The ratio changing is accomplished by amechanism called a derailleur which controllably shifts the chain fromengagement with one sprocket to another. A manually actuated shifterlever, usually mounted on the front part of the down tube or top tube ofthe bicycle frame, is connected by a cable to the derailleur. In thecase of a five speed bicycle, it is usual practice to provide a singlepedal sprocket and five different wheel sprockets and a rear derailleurfor shift control. For a ten speed bicycle, there are two pedalsprockets and five wheel sprockets with both a pedal sprocket derailleurand a wheel sprocket derailleur, thus providing ten different sprocketcombinations.

In the conventional bicycle transmission shifter, the pedal sprocketderailleur comprises a laterally movable chain cage which urges thechain into alignment with a selected one of the sprockets at the pedalcrank. The wheel sprocket derailleur comprises a guide sprocket andtensioning sprocket which successively engage the chain in its slackportion (as distinguished from its driving portion) between the pedalsprocket and the wheel sprocket. The wheel sprockets are axially alignedand laterally displaced from each other with progressively largerdiameters from the outboard to the inboard sprocket. The derailleur isprovided with a cable operated transfer lever, typically a spring-loadedbell-crank lever, which shifts the guide sprocket laterally so that itcan be aligned with any one of the wheel sprockets.

Although the conventional derailleur leaves much to be desired, it isthe predominant type of bicycle shifter mechanism. Shifting by the rearderailleur is accomplished by repositioning the selector lever duringpedalling to move the guide sprocket, and hence the chain, in eitherinboard or outboard direction to the adjacent sprocket. This lateralmovement of the guide sprocket leads the chain from meshing engagementwith one sprocket to a position in which it picks up a tooth of theadjacent sprocket and becomes meshed therewith. The shifting iscontrolled by the rider mostly by the feel of the selector lever and theresultant interaction of the chain and sprocket, rather than by visualpositioning of the lever.

For the skilled rider on a familiar bicycle with a well adjustedderailleur, manual shifting usually results in a smooth transition fromone speed to another. For a rider of lesser skill, especially with anunfamiliar bicycle and a poorly adjusted derailleur, shifting may resultin a rough transition with uncertain timing. Manipulation of the shifterlever is a distraction to the rider, usually for an undue period oftime, and may result in an unsafe operating condition. The shifting of athree speed or five speed bicycle through successively higher or lowerspeed ranges calls only for a simple easily understood progressiveposition changes of the selector lever. However, for a bicycle which hastwo derailleurs, such as a ten speed, the typical pattern for the twoselector levers is not a simple progressive positioning pattern toobtain successively higher or lower speed ranges; instead, it is acomplex shift pattern which the rider must memorize in order to select adesired speed range.

In the field of bicycling, there has been a long-standing need forreplacing or supplementing the manual shifter with an automatic shifterto relieve the rider from the need for manual shifting. While therequired technology, in terms of mechanics and electronics, has longbeen available for an automatic shifter and while there have been manyinventions and proposals, none has met with any significant success.

The prior art systems are unduly complex and too costly to manufacture.They require replacement or modification of conventional component partsand are not adapted for installation on a conventional bicycle. In theprior art systems, the criteria for shifting leaves much to be desiredin meeting the needs of an individual rider in producing a timelyupshift or downshift with quick and smooth shifting. Further, the priorart is lacking in respect to providing highly efficient bicycleoperation while also providing minimized physical and mental demands onthe rider.

In the prior art, it has been known for several years to provide anautomatic shifter for bicycles wherein a derailleur is actuated by anelectric motor under the control of a microcomputer in response torotational speed of a bicycle wheel and/or rotational speed of the crankgear. Such an automatic shifter is described in Matsumoto et al U.S.Pat. No. 4,490,127 granted Dec. 25, 1984. In the system of this patent,a microcomputer with a stored program derives 1) optimum running speedranges and 2) crank gear rotation speed ranges which correspondrespectively to the five transmission gears. A proper speed range isdefined as that which enables the rider to ride the bicycle at maximumefficiency while being subjected to the least fatigue, taking intoaccount the rider and various driving conditions. In the system of thispatent, the transmission is shifted by a cable wound on a motor driventake-up reel and connected with the derailleur. A rotary decoder drivenby the take-up reel shaft detects which transmission gear has beenselected. A wheel speed sensor develops a bicycle speed signal which issupplied to the microcomputer and a crank gear rotation sensor developsa signal corresponding to the crank gear speed which is supplied to themicrocomputer. The proper speed range for each transmission gear isdefined between upper and lower limits which are expressed in terms ofconstants supplied by setting switches. Information regarding the riderand topography, along with the condition setting switches is supplied tothe microcomputer. In operation under the control of the computerprogram, the running speed of the bicycle is compared with the properspeed range for the selected transmission gear. When the running speedis greater than the maximum speed in the proper speed range, an upshiftsignal causes the motor actuator to select the next higher speed range.Conversely when the actual speed is lower than the minimum speed of theproper speed range, a downshift signal is produced to select the nextlower transmission gear so that the actual running speed is in theproper speed range. Also, the system of this patent includes a processfor defining a crank gear rotation speed range to allow the crank gearto rotate substantially at constant speed for each transmission gear.For this, upper and lower limits for the crank gear speed areestablished to define a speed range for each of the five transmissiongears. These limits are established by assigning constants for each ofthe speed ranges by the use of condition setting switches. Theseconstants are initial values which are modified or compensated by aconstant dependent upon the individual bicycle rider and the ridingconditions. When the crank gear rotational speed key switch isdepressed, the actual speed of rotation of the crank gear is comparedwith the proper speed range for the selected transmission gear. When theactual speed is higher than the maximum speed of the range, an upshiftsignal is generated to upshift the transmission so that crank speed iswithin the speed range of the selected gear. Conversely, when the actualspeed is less than the minimum speed of the speed range, a downshiftsignal is generated to downshift the transmission so that the actualspeed is within the speed range of the selected gear.

Another electronically controlled bicycle transmission is described inthe Clem et al U.S. Pat. No. 4,605,240 granted Aug. 12, 1986. In thesystem of this patent, a microcomputer receives inputs from a bicyclespeed detector, a plurality of manually controlled switches and afeedback signal from an actuator for the derailleur. The actuator iscontrolled by the microcomputer and positions the derailleur for gearselection in accordance with bicycle speed.

An automatic transmission for a multi-speed bicycle is also described inthe Dutil et al U.S. Pat. No. 4,701,152 granted Oct. 20, 1987. Thesystem of this patent shifts the axial position of the derailleurautomatically in response to the speed of the bicycle wheel which issensed by centrifugal fly weights on the wheel. Other prior art patentswhich describe automatic shifters for bicycles which effect shifting inresponse to bicycle speed are as follows: Gardel et al U.S. Pat. No.3,830,521 granted Aug. 20, 1974 describes an automatic shifter whichuses a fly weight governor for shifting the transmission in response tobicycle speed. The Stuhlmuller et al U.S. Pat. No. 3,919,891 grantedNov. 18, 1975 discloses a shifter which has an electrical actuator withmanual switching for speed range selection and is provided with a speedresponsive inhibiting arrangement to prevent shifting until a certainspeed is reached. The Dantowitz U.S. Pat. No. 3,926,020 granted Dec. 16,1975 discloses a bicycle transmission with a belt drive and variablediameter pulley with a hydraulic actuator controlled by a fluid pressurespeed signal corresponding to pedal speed.

It is also known in the prior art to provide an automatic shifter for abicycle in which the ratio is changed in response to the value of torqueapplied to the power train of the bicycle. The McGuire U.S. Pat. No.3,769,848 granted Nov. 6, 1973 discloses an automatic shifter having aset of sprockets on the rear wheel which is laterally shiftable, inresponse to torque, to change the engagement of the chain from onesprocket to another. In this device, a cam track is provided on a shaftwhich supports the hub and sprockets for axial movement; a cam followeris carried by the hub so as to move the hub axially against a spring asthe torque on the hub increases. The hub is moved axially in theopposite direction by the spring as the torque decreases.

In the Perry U.S. Pat. No. 3,929,025 granted Dec. 30, 1975, a mechanicallinkage arrangement is provided for actuating a derailleur in responseto changes of chain tension resulting from variations in pedal pressure.In the device of this patent a control arm is pivotally mounted on theframe and connected with the derailleur by a cable. An idler sprocket,which is mounted on the control arm in engagement with the chain, causesrotation of the control arm in one direction with increasing chaintension. The control arm is rotated in the opposite direction by aspring in response to decreasing chain tension. The control arm is inequilibrium for a predetermined chain tension in each of the multiplepositions of the arm. When the actual chain tension is different fromthe predetermined tension, the control arm rotates in a direction toeliminate the difference and shifts the derailleur to a different speedrange.

Also, in the prior art, it has been proposed to provide an automaticshifter for bicycles which is actuated in response to bicycle speed at aspeed value which is modified by the driving torque applied to thetraction wheel. Such a device is described in the Imhoff U.S. Pat. No.4,713,042 granted Dec. 15, 1987. In the device of this patent, a shiftersleeve carries a set of sprockets and is axially slidable in the hub ofthe traction wheel. A set of fly weights produces a shifting force tomove the shifter sleeve against a bias spring in one direction inresponse to increasing speed to change the chain engagement from onesprocket to another. It is moved in the other direction by the biasspring in response to decreasing speed. The shifter sleeve is drivinglyengaged with the hub of the traction wheel by a cam slot in the hub anda cam follower on the sleeve. Increasing torque on the shifter sleeveproduces an increasing resistance to the movement of the shifter sleevein the axial direction and thus modifies the value of speed at which thechain is shifted from one sprocket to another.

A general object of this invention is to provide an improved automaticshifter for velocipedes, especially bicycles, and to overcome certaindisadvantages of the prior art.

SUMMARY OF THE INVENTION

In accordance with this invention, an automatic speed range shifter andmethod of operation for bicycles and other velocipedes is provided whichachieves highly efficient operation of the bicycle with a minimum ofphysical and mental demands on the rider. This is accomplished by usingpredetermined shift-point criteria and a predetermined shift patternboth of which may be established for the particular bicycle, theindividual rider and even for the characteristics of the trip to beundertaken.

Further, the criteria for upshifting and downshifting is such that theneed for shifting is determined at the earliest perceptibletime--substantially before the rider would sense it from physicalreaction. This enables the required shift to be initiated before therider experiences the usual amount of the fatiguing effect from a bikewith a manual shifter which is held in the wrong speed range until therider senses enough physical discomfort to motivate the rider toinitiate a shift. This is accomplished by measuring the pedal crankspeed, producing a first control signal when the average value of thepedal crank speed increases to a predetermined value and initiating anupshift in response to the first control signal and by measuring thepedal force, producing a second control signal when the average value ofthe pedal force increases to a predetermined value and initiating adownshift in response to the second control signal.

Further, the automatic shifter of this invention is adapted forprogramming of the upshifts and downshifts in a desired sequence ofspeed ranges to establish a shift pattern.

Further, the invention is adapted for use on bikes having differentnumbers of speed ranges and to utilize all or less than all speed rangesin the shift pattern.

Further, an automatic shifter is provided which is adapted forinstallation on a bicycle or other velocipede either as a factoryinstallation or a retrofit installation. It is of simple construction,low cost and is highly reliable in operation. It is adapted for use withany conventional ratio-changing transmission and is especiallywell-adapted for use with a conventional derailleur. Further, theinvention requires a minimum number of mechanical and electroniccomponents which do not adversely affect or interfere with thevelocipede.

Further, the automatic shifter of this invention permits operation ofthe velocipede in such manner that the rider is not required to rotatethe pedal crank faster than a certain RPM or to apply a pedal forcegreater than a desired value. The automatic shifter may be readily setto adapt it to the physical characteristics of a particular rider and toadapt it for operation on different types of terrain. Further, theshifter of this invention operates with shift points between adjacentspeed ranges which are determined as a function of either pedal crankspeed or pedal force.

Further, in accordance with this invention, an automatic speed rangeshifter is provided which comprises speed sensing means for generatingan electrical signal corresponding to the rotational speed of the pedalcrank, force sensing means for generating an electrical force signalcorresponding to the force applied to the pedal crank, a servo motor foractuating a control member of the speed ratio-changing transmission, anda microcomputer for controlling the servo motor in accordance with thespeed signal and force signal. The microcomputer is operative toenergize the servo motor to upshift the transmission in response to thespeed signal exceeding a predetermined value and to downshift inresponse to said force signal exceeding a predetermined value.

Further, in accordance with this invention, unwanted shifting isprevented by inhibiting energization of the servo motor until the timeaverage value of the pedal speed or pedal force reaches a predeterminedvalue during a predetermined time.

Further, in accordance with this invention, the microcomputer isoperative to produce an upshift or a downshift signal when the rate ofchange of speed or the rate of change of force exceeds respectivepredetermined threshold values.

A complete understanding of this invention may be obtained from thedetailed description that follows taken with the accompanying drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a side elevation view of a bicycle provided with an automaticshifter in accordance with this invention;

FIG. 2 is a plan view of the chain drive of the bicycle of FIG. 1;

FIG. 3 is a side elevation view of a chain force sensor;

FIG. 4 is a side elevation view of the power actuator of the automaticshifter as installed on the bicycle of FIG. 1;

FIG. 5 is a plan view, partially in section, of the power actuator;

FIG. 6 shows a detail of the power actuator;

FIG. 7 is a block diagram of the automatic shifter;

FIG. 7A is a block diagram depicting the storage of certain data in thememory of the controller;

FIG. 8 is a graphical representation of operation of the bicycle atconstant power to aid the explanation of the invention;

FIG. 9 is a graphical representation of the upshift points in an exampleof operation of the automatic shifter;

FIG. 10 is a graphical representation of the downshift points in anexample of operation of the automatic shifter; and

FIG. 11 shows a control panel of the automatic shifter for data input bythe rider and for display of information to the rider.

BEST MODE FOR CARRYING OUT THE INVENTION

Referring now to the drawings, there is shown an illustrative embodimentof the invention which is adapted for a bicycle having a chain drivewith a ratio-changing derailleur transmission for transmitting power ina selected one of a plurality of speed ranges. The illustrativeembodiment of the invention provides an automatic shifter for a tenspeed bicycle. It will be appreciated, as the description proceeds, thatthe invention is useful in a wide variety of applications and may beimplemented in many different ways.

Manual Gear Shifter of a Typical Bicycle

Before describing the automatic shifter of this invention, a typicalbicycle power train and manual shifter will be described with referenceto a bicycle as shown in FIGS. 1 through 4. The bicycle 10 is a tenspeed bicycle, i.e. it has ten different speed ratios or ranges providedby a power transmission which is of conventional design. The bicycle 10comprises, in general, a frame 12 mounted on a steerable front wheel 14and a rear traction wheel 16. The bicycle has a power train 18 includinga pedal crank 22 which rotatably drives a front sprocket set 24 whichincludes a pair of front drive sprockets A and B and a drive chain 28which is engagable with either of the front sprockets. As shown in FIGS.1 and 2, the power train also comprises a rear sprocket set 34 includingfive different driven sprockets 1, 2, 3, 4 and 5, all of which arecoupled to the hub of traction wheel 16 through an overrunning clutch(not shown) to provide unidirectional power transmission and to allowfree wheeling in a conventional manner. A front shifter, i.e. frontderailleur 36, is provided to move the drive chain from engagement withone to the other of the front sprockets A and B. A rear shifter, i.e.rear derailleur 38, is provided to move the drive chain from engagementwith one rear sprocket to another one of the rear sprockets 1, 2, 3, 4and 5. The front and rear sprocket sets 24 and 34 and the drive chain 28constitute a changeable ratio transmission in the power train 18 betweenthe pedal crank 22 and the traction wheel 16. The bicycle ridertypically operates the bicycle from a seated position on the seat 42 bysupplying motive power input to the power train by pedalling action onthe pedal crank 22 while steering the bicycle with a pair of handlebars44.

As is well-known, ten different speed ranges may be obtained from thisratio-changing transmission. A first speed range is provided with thechain engaging the smaller front sprocket and the largest rear sprocketand the tenth speed range may be provided with the larger front sprocketdriving the smallest rear sprocket. The speed ranges two through nineare obtained from different combinations of front and rear sprockets. Ashift pattern to upshift from first speed to tenth speed in successionrequires shifting more than once between the two front sprockets with ashifting sequence for the rear sprockets which includes several shiftsfrom a larger to a smaller sprocket and vice versa.

Without the automatic shifter of this invention, the front derailleur 36is actuated by the conventional manual shift lever 46 which is mountedon the down tube 47. The front derailleur 36 is connected to the shiftlever 46 by a tension cable 56 (see FIG. 4). When the lever 46 ispivoted rearwardly, the cable pulls the chain guide of the derailleur tothe right and puts the chain on the outboard sprocket B. The frontderailleur 36 includes a return spring (not shown) which moves the guidemember of the derailleur to the left when the shift lever 46 is returnedto the forward position and moves the chain to the inboard sprocket A.The rear derailleur 38 is actuated by the manual shift lever 52. Theshift lever 52 is connected by a cable 58 to the rear derailleur 38. Therear derailleur comprises a spring loaded chain tensioning sprocket 62,which takes up chain slack, and a guide sprocket 64 for guiding thechain in a lateral motion for alignment with a selected one of thedriven sprockets. When the shift lever 52 is pivoted rearwardly from itsforwardmost position, the tension on the cable 58 pulls the guidesprocket 64 from an outboard position toward an inboard position tosuccessively align the chain with the different driven sprockets in therear sprocket set 34. The rear derailleur is provided with a returnspring (not shown) which tends to move the guide sprocket 64 in thereverse direction when the shift lever 52 is moved forwardly from arearward position. The shift lever 52 controls the several gearpositions, i.e., chain engagement with any one of the sprockets in thesprocket set 34.

In manual gear shifting, changing of gear positions by repositioningshift lever 46 or 52 is felt by the rider and typically there is novisual gage or tactile signal for indication of lever position or speedrange. Because of the feel of gear changing the rider can watch the roadwhile shifting. However, in order for the rider to know which speedrange is selected the rider must keep track of the changes made from astarting speed range and must mentally correlate the changes with theshift pattern.

General Description of the Automatic Shifter

As shown in FIG. 1, The automatic shifter of this invention comprises,in general, a power unit 50 for actuating the derailleurs, an electronicprogrammable controller 72 for controlling the power unit, a pedal crankrotation sensor 82 and a pedal force sensor 94 which provide pedal speedand pedal torque information to the controller. These components of theautomatic shifter will be described in detail subsequently.

The power unit 50 comprises front shifter and rear shifter poweractuators 48 and 54 which are mounted side-by-side in a single housing(See FIG. 5) on the down tube 47 of the bicycle frame by clamp bands 65around the tube, as shown in FIG. 4. The power actuator 48 is connectedwith the front shift lever 46 by a cable 66 and a disconnectableconnector 67 and the power actuator 54 is connected with the rear shiftlever 52 by a cable 68 and a disconnectable connector 69.

The electronic programmable controller 72 is mounted on the top tube 74of the bicycle frame by a clamp band 76. The controller 72 is coupledwith the power actuators 48 and 54 by an electrical cable 78 forenergizing the motors under control of the controller. The controller 72includes a control panel 73 which serves as a user interface for thebicycle rider. A battery 51 (see FIG. 4) for supplying the electricalpower required by the automatic shifter is provided in a batterycompartment 51' which is removably mounted on the housing of the powerunit 50. The automatic shifter is powered up by a manual power switch 53on the control panel.

For the purpose of developing pedal crank speed information, a pedalcrank rotation sensor 82 is provided. It comprises a magnet 84 mountedon one of the pedal crank arms and a pick-up coil 86 mounted on theseat-tube of the bicycle opposite the magnet. A voltage pulse isdeveloped by the pick-up coil 86 each time the magnet 84 rotates pastthe coil. This produces a pulse train, referred to herein as the pedalcrank rotation signal, and it is transmitted to the electroniccontroller 72 by a signal cable 92 for developing a pedal crank speedsignal.

For the purpose of developing a torque signal corresponding to the valueof force applied by the rider to the pedal crank 22, the chain forcesensor 94 is provided (See FIG. 3). The chain force sensor comprises anidler sprocket 96 which is rotatably mounted on the chain-stay 98 by atension bracket 102. The tension bracket 102 is provided with a straingage transducer 104. The strain gage transducer exhibits an electricalresistance corresponding to the amount of force on the chain 28 and iscoupled to the controller 72 by a signal cable 106 for developing apedal force signal.

The Power Actuator

The power unit 50 which comprises first and second actuators 48 and 54,respectively, will now be described in detail with reference to FIGS. 4,5 and 6. The shift levers 46 and 52 for the front and rear derailleurs,respectively, as shown in FIG. 4, remain connected as described abovefor manual operation. This is a preferred arrangement, especially in aretrofit of the automatic shifter to an existing bicycle because only aminimum of change is required for installation. Further the manualshifters can be used in lieu of the automatic shifter of this inventionin case the automatic shifter is not in service for some reason.

Referring now to FIG. 5, the power actuator 48 comprises a reversiblerotary electric servo motor 112 and a motion converter 114 forconverting the rotary motion of the servo motor 112 to linear motion.The output shaft of the servo motor 112 comprises a lead screw 116 whichthreadedly engages a travelling nut 118. The nut 118 is non-rotatablymounted in a U-shaped slide 122 which is slidably mounted within a fixedU-shaped guide 124 which is fixedly mounted to the housing of the powerunit 50. The tension cable 66 is attached at its inner end to thecrosspiece of the U-shaped slide 122 and it extends through a grommet126 in the end wall of the housing 50. When the servo motor 112 isrotated in the clockwise direction (as viewed from the shaft end), theslide 122 is retracted toward the servo motor and the cable 66 is alsoretracted. When the rotation is reversed, the slide 122 and the cable 66are extended. For the purpose of detecting when the slide 122 is in areference or home position, a micro switch 128 is mounted on the guide124 with the switch actuator 132 located for engagement and actuation bythe slide 122 when it reaches the home position. For the purpose ofdetermining the position of the slide 122, and hence the inner end 10 ofcable 66, a rotary encoder 134 is provided. As shown in FIG. 6, theencoder comprises an encoder disk 136 which is mounted on the shaft 116for rotation therewith. The encoder also comprises a fixed electricalcontact 138 which is mounted on the guide 124. The encoder disk 136comprises a circular plate of non-conductive material provided withmultiple electrical contacts 142 which are equally spaced around theperiphery of the disk for engagement by the contact 138. The electricalcontacts 142, suitably ten in number, are individually electricallyconnected to the shaft 116 by conductors not shown and thence to theelectrical chassis ground of the electronic controller 72. Thus, ashifter position signal is produced from the electrical pulses generatedby the encoder 134 and the home position pulse generated by themicroswitch 128. This position signal is obtained by counting the netnumber of pulses generated by the encoder, starting with the slide 122in its reference position; i.e., by incrementing a counter for eachpulse generated by motor rotation in the slide retracting direction anddecrementing the counter for each pulse generated by the oppositerotation.

The power actuator 54 is of the same construction as that just describedfor power actuator 48. The corresponding parts of actuators 54 and 48are identified by the same reference characters except that a primesymbol is added to the reference characters applied to actuator 54.

The Electronic Control System

The electronic control system of the automatic shifter of this inventionwill be described in further detail with reference to FIGS. 7 and 7A.The electronic control system comprises, in general, the electroniccontroller 72, the pedal force sensor 94, the pedal crank rotationsensor 82 and the front and rear shifter actuators 48 and 54. Power issupplied to certain components of the controller through a voltageregulator 55 and to other components directly from the battery, asindicated.

The controller 72 comprises a microcomputer 70 for operation of theautomatic shifter in accordance with certain algorithms implemented in acontrol program which will be described subsequently. The microcomputerof the controller 72 includes a read only memory (ROM) 185 which storesthe control program and a ROM 186 which stores a shift signal pattern,suitably as a look-up table. It also includes a read/write random accessmemory (RAM) which accommodates certain variable data storage includingfront and rear shifter position signal stores 174 and 176 and front andrear shifter calibration signal stores 182 and 184. In general, thecontroller 72 receives certain input signals including a pedal forcesignal on input 152 and a pedal crank speed signal on input 154.

The pedal force signal is generated by the force sensor 94 whichcomprises the strain gauge transducer 104, as described above withreference to FIG. 3. The transducer is connected in a resistive networkto generate an analog voltage which varies with the tension in the chain28 which corresponds to the pedal force applied by the bicycle rider.The pedal force sensor signal is applied to the input of an analogue todigital (A/D) converter 156 to develop a digital pedal force signalcorresponding to the instantaneous value of pedal force. This digitalsignal is applied to the input 152 of the microcomputer 70 for furtherprocessing.

The pedal crank rotation sensor 82, as described above with reference toFIG. 1 produces a voltage pulse train having a frequency correspondingto the rotational speed of the pedal crank. This rotation signal isapplied to the input of a signal shaping circuit 158. The circuit 158produces a digital output signal comprising a rectangular pulse traincorresponding to the pulse train from the rotation sensor 82. The outputof the signal shaping circuit 158 is applied to the input 154 of themicrocomputer 70 for further processing.

The microcomputer 70 operates under software control to process thepedal force signal at input 152 to produce a pedal force signal which isrepresentative of the instantaneous value of force applied to the pedalby the rider. It also produces a force rate of change signalcorresponding to the time rate of change of the pedal force signal.Likewise, the microcomputer 70 operates to process the digital pedalcrank rotation signal at input 154 for producing a pedal crank speedsignal which is representative of the instantaneous value of the pedalspeed. It also produces a rotation rate of change signal correspondingto the time rate of change of the pedal crank speed. The microcomputer70 operates under control of the stored control program and isresponsive to the aforementioned signals and certain predeterminedparameter values stored in the computer memory and generates controlsignals for the energization of the power actuators 48 and 54.

The microcomputer 70 develops front shifter control signals on outputs162 and 164 for controlling the power actuator 48 for front derailleur36. The outputs 162 and 164 are coupled to the inputs of a drivercircuit 166 which controls the energization of the actuator 48. Thefront shifter control signals include a retract signal for retraction ofthe slide 122 (toward larger sprocket), an extend signal for extensionof the slide 122 (toward smaller sprocket) and standstill signal forholding the slide 122 in position. These control signals at outputs 162and 164 have a first logic state of 10 for the retract signal, a secondlogic state of 01 for the extend signal and a third logic state of 00for the standstill signal.

The front shifter actuator 48 under control of the controller 72responds to a retract or an extend signal, as the case may be, by movingthe slide 122 to the position for chain alignment with either the smallfront sprocket A or large front sprocket B and then waiting for anothercontrol signal. For this purpose, the encoder signal developed by theencoder 134 at output 168 of the actuator 48 is applied to input 172 ofthe microcomputer. The encoder signal pulses are counted by themicrocomputer in an up/down counter and the net count, starting from thereference position, is stored in the front shifter position signal store174. This stored signal represents the actual position of the slide 122of the front shifter actuator 48. The shifter calibration store 182stores the shifter calibration signals which represent the two positionsof slide 122 for chain engagement respectively with the small frontsprocket A and large front sprocket B. The front shifter position signalin store 174 is compared with the shifter calibration signal stored instore 176 and when they are equal, both of the outputs 162 and 164 go tologic 0 thus representing a standstill signal 00 and the servomotor ofactuator 48 is deenergized. The actuator remains deenergized and holdsthe slide 122 in fixed position until it receives a control signal foreither retraction or extension of the slide. The next control signalwill be produced at outputs 162 and 164 as an extend, retract orstandstill signal in accordance with the need for shifting.

The controller 72 develops rear shifter control signals on outputs 188and 192 for controlling the power actuator 54 for rear derailleur 38.The outputs 188 and 192 are coupled to the inputs of a driver circuit194 which controls the energization of the rear shifter actuator 54. Therear shifter control signals includes a retract signal for retraction ofthe slide 122', an extend signal for extension of the slide 122' andstandstill signal for holding the slide 122' in position. These controlsignals at outputs 188 and 192 have a first logic state of 10 for theretract signal, a second logic state of 01 for the extend signal, and athird logic state of 00 for the standstill signal.

The rear shifter actuator 54 under control of the controller 72 respondsto a retract or an extend signal, as the case may be, by moving theslide 122' to the position for chain alignment with either a smaller orlarger rear sprocket and then waiting for another control signal. Forthis purpose, the encoder signal developed by the encoder 134' at output196 of the actuator 54 is applied to input 198 of the microcomputer. Theencoder signal pulses are counted by the microcomputer in an up/downcounter and the net count, starting from the reference position, isstored in the rear shifter position signal store 176. This stored signalrepresents the actual position of the slide 122' of the rear shifteractuator 54. The rear shifter signal calibration store 184 stores theshifter calibration signals which represent the five positions of slide122' for chain engagement respectively with the five rear sprockets 1through 5. The rear shifter position signal in store 176 is comparedwith the rear shifter calibration signal stored in store 184 and whenthey are equal, both of the outputs 188 and 192 go to logic 0 and theservomotor of actuator 54 is deenergized. The actuator remainsdeenergized and holds the slide 122' stationary until it receives acontrol signal for either retraction or extension of the slide. The nextcontrol signal will be produced at outputs 188 and 192 as an extend,retract or standstill signal in accordance with the need for shifting.

Control Of Speed Range

The automatic shifter of this invention facilitates upshifting in theorder of successively increasing speed ranges and downshifting in thereverse order. Further, it enables implementation of a ratio-changingtransmission with any desired shift pattern and with a preselectednumber of speed ranges equal to or less than the total number ofsprocket combinations.

In an exemplary ten speed bicycle, such as a Raleigh Gran Prix Model No.DL-115, the front sprockets A and B have forty and fifty-two teeth,respectively, and the rear sprockets 1, 2, 3, 4 and 5 have twenty-eight,twenty-four, twenty, seventeen and fourteen teeth, respectively. InTable I below, the ten different speed ranges are shown in an orderwhich results from combining the front and rear sprockets in thefollowing sequence: the smaller front sprocket is combined with each ofthe five rear sprockets successively from the largest to the smallestand then the larger front sprocket is combined with each of the fiverear sprockets successively in the same sequence. This sprocketcombination ordering might be considered a logical shift pattern, atleast to an inexperienced cyclist, for obtaining a successivelyincreasing gear ratio. However, as shown in Table I, the order of thegear ratios and speed ranges obtained from this shift pattern is notcontinuously progressive. The shift pattern required for progressiveincrease of speed range from one to ten would be difficult to memorize.It would be more difficult for a rider to remember how to upshift ordownshift from any given speed range.

                  TABLE I                                                         ______________________________________                                        SPROCKET COMBINATION ORDERING                                                 Sprocket Combination                                                                          Speed Range                                                                              Gear Ratio                                         ______________________________________                                        A-1             1          1.43                                               A-2             2          1.67                                               A-3             4          2.00                                               A-4             6          2.35                                               A-5             8          2.86                                               B-1             3          1.86                                               B-2             5          2.16                                               B-3             7          2.60                                               B-4             9          3.06                                               B-5             10         3.71                                               ______________________________________                                    

It is noted from Table I that shifting in the sprocket combination orderresults in successive upshifts except for the downshift which occursupon the shift from front sprocket A to sprocket B. Further, it isobserved that this provides two distinct sets of speed ranges, namelysprocket combinations A-1 through A-5 and B-1 through B-5 each of whichexhibits continuously progressive increase of speed range. Note however,that the upper set of speed ranges includes some gear ratios lower thansome in the lower set.

In Table II, the ten speed ranges are listed in numerical order andhence with progressively increasing gear ratios to illustrate thesequence of sprocket combinations required.

                  TABLE II                                                        ______________________________________                                        SPEED RANGE ORDERING                                                          Speed         Gear    Sprocket                                                Range         Ratio   Combination                                             ______________________________________                                        1             1.43    A-1                                                     2             1.67    A-2                                                     3             1.86    B-1                                                     4             2.00    A-3                                                     5             2.16    B-2                                                     6             2.35    A-4                                                     7             2.60    B-3                                                     8             2.86    A-5                                                     9             3.06    B-4                                                     10            3.71    B-5                                                     ______________________________________                                    

It is noted that Table II shows that successive upshifts (or downshifts)in shifting through all speed ranges can be obtained but only by thespecified sequence of sprocket combinations.

In Table III the sprocket combinations are listed in the order of speedrange number and the control signals are shown for sequentiallyupshifting from the lowest to the highest speed range and fordownshifting from the highest to the lowest speed range.

                  TABLE III                                                       ______________________________________                                        SPEED RANGE ORDERING                                                          TEN SPEED - CONTROL SIGNALS                                                   Speed                    Up        Down                                       Range Sprocket   Gear    Control Signal.sup.1                                                                    Control Signal.sup.1                       No.   Combination                                                                              Ratio   Front Rear  Front Rear                               ______________________________________                                        1     A-1        1.43    00    10    00    00                                 2     A-2        1.67    01    01    00    01                                 3     B-1        1.86    10    10/10 10    10                                 4     A-3        2.00    01    01    01    01/01                              5     B-2        2.16    10    10/10 10    10                                 6     A-4        2.35    01    01    01    01/01                              7     B-3        2.60    10    10/10 10    10                                 8     A-5        2.86    01    01    01    01/01                              9     B-4        3.06    00    10    10    10                                 10    B-5        3.71    00    00    00    01                                 ______________________________________                                         Footnote 1:                                                                   10 means go to smaller sprocket                                               01 means go to larger sprocket                                                00 means no change                                                       

Table III shows that certain upshifts and downshifts require twosuccessive control signals, i.e. 10/10 and 01/01, for two successivetransitions of the chain on the rear sprockets because one sprocket is"skipped", i.e. only momentarily engaged.

In order for the automatic shifter to respond to upshift and downshiftdemands it is necessary to generate control signals which depend uponthe existing status of the shifter, i.e. the engaged speed range whichis a function of the combination of front and rear sprockets which areengaged by the chain. As shown by Table III, if the shifter is in speedrange number 1, for example, the upshift control signal is 00 (front)and 10 (rear) and results from an upshift demand. If the shifter is inspeed range number 2, the upshift control signal is 01-01. Byinspection, it can be seen that there may be a different control signalfor upshift depending on the engaged speed range. Accordingly, a look-uptable containing the shift pattern and the shifter control signal foreach speed range is provided in ROM 186 in the microcomputer. As will bedescribed below in connection with the Shifter Control Module ofAppendix F, the sprocket combination, and hence the speed range, whichis engaged by the automatic shifter can be ascertained by comparing thestored front and rear shifter position signals with the stored front andrear calibration signals, respectively.

As shown in Table III, for the illustrative embodiment of the invention,the gear ratios are listed in the order of numerical magnitude and aredesignated by speed range numbers 1 through 10 corresponding to thesequentially increasing gear ratios. This ordering of the gear ratios isreferred to herein as the "shift pattern" of the automatic transmissionand is defined by the order of the speed range numbers. In the exampleof Table III, the shift pattern is progressive in the sense thatsuccessive upshifts from the lowest gear ratio includes the gear ratiosin the order of progressively increasing magnitude and vice-versa forsuccessive downshifts. This shift pattern also includes all gear ratiosavailable from the transmission, i.e. none of the gear ratios areskipped in the shifting sequence.

In accordance with this invention, alternative shift patterns can beestablished in the automatic shifter on the same bicycle. For example, ashift pattern can be established in the automatic control system whichselectively skips certain gear ratios available from the transmission.Further a shift pattern can be established which is a combination ofprogressive and regressive shifts. For example, the shift pattern may bedivided into a low speed range and a high speed range with the gearratio at the high end of the low speed range being higher than the gearratio at the low end of the high speed range. See for example, Table I.This is progressive within each range but regressive between ranges.

As an alternative embodiment of the invention, the automatic shifter maybe adapted to operate a ten speed bike as though it were a five speed orthree speed bike at the option of the rider. For this purpose, aseparate look-up table is provided in the ROM 186 for each of the tenspeed, five speed and three speed bikes. In the implementation of thisembodiment, the control panel may be provided with a separate manuallyactuable selector switch for the ten speed, five speed and three speedoperations.

As shown in Table IV the ten speed bicycle may be operated as a fivespeed with the automatic shifter. This is accomplished by configuringthe shifter with a selected set of five speed ranges in a desired shiftpattern. Table IV shows a shift pattern comprising speed rangesdesignated as 1' through 5' in the first column (for the five speed set)which correspond, respectively, with speed ranges 1, 3, 5, 7 and 10(shown in parenthesis) of the ten speed set of Table III.

                  TABLE IV                                                        ______________________________________                                        SPEED RANGE ORDERING                                                          FIVE SPEED - CONTROL SIGNALS                                                                           Up        Down                                       Speed Sprocket   Gear    Control Signal                                                                          Control Signal                             Range Combination                                                                              Ratio   Front Rear  Front Rear                               ______________________________________                                        1' (1)                                                                              A-1        1.43    01    00    00    00                                 2' (3)                                                                              B-1        1.86    00    10    10    00                                 3' (5)                                                                              B-2        2.16    00    10    00    01                                 4' (7)                                                                              B-3        2.60    00    10/10 00    01                                 5' (10)                                                                             B-5        3.71    00    00    00    01/01                              ______________________________________                                    

It is noted that the shift pattern of Table IV is progressive with gearratio increments being significantly larger than those of Table III.

Table V shows the same ten speed bike configured as a three speed bike.(The speed range notation is the same as in Table IV.)

                  TABLE V                                                         ______________________________________                                        SPEED RANGE ORDERING                                                          THREE SPEED - CONTROL SIGNALS                                                                          Up        Down                                       Speed Sprocket   Gear    Control Signal                                                                          Control Signal                             Range Combination                                                                              Ratio   Front Rear  Front Rear                               ______________________________________                                        1' (2)                                                                              A-2        1.67    01    00    00    00                                 2' (5)                                                                              B-2        2.16    00    10/10 10    00                                 3' (9)                                                                              B-4        3.06    00    00    00    01/01                              ______________________________________                                    

It is noted that the shift pattern of Table V is progressive with gearsratios selected from the mid-range of Table III.

It will now be appreciated that the automatic shifter can be configuredwith a selected set of speed ranges in any desired shift pattern.

As discussed above, the selected speed range of the bicycle transmissionis determined by the pairing of a selected one of the front sprocketsand a selected one of the rear sprockets. For the ten speed bicycle ofthe illustrative embodiment, the control signals for upshifting ordownshifting from any speed ratio number are shown in Table III. Thisdata is stored in the ten speed look-up table in the ROM 186 of themicrocomputer. It is accessed for producing the requisite control signalon both outputs 162-164 and 188-192 for controlling the respective frontand rear shifter actuators 48 and 54 in accordance with the existingspeed range and the demand for change, either upshift or downshift.

Operating Characteristics of the Automatic Shifter

Each bicycle rider has individual preferences and capabilities inpowering a bicycle. For each rider these may vary in accordance with thenature of the bicycle trip, e.g. pleasure riding, transportation, or aperformance contest and in accordance with the nature of the terrain tobe covered. In any case, the speed ranges available from the bicycletransmission are adapted to allow the rider to choose the most effectivespeed range for the operating conditions and the objective of the trip.In general, the lower speed ranges are useful for hill climbing or foraccelerating the bicycle with a pedal force and rotation rate which areacceptable to the rider. The higher speed ranges are useful for cruisingat a desired speed on a level road or for descending a hill withacceptable pedal force and rate. The automatic shifter changes to alower speed range when the force required on the pedals exceeds apredetermined value and changes to a higher speed range when the pedalcrank rotational speed exceeds a predetermined value, according to thepreferences of the rider.

A typical bicycle rider may tend to maintain the bicycle at a certainroad speed for different segments of a trip. The speed will vary withconditions which prevail during a given segment. For example, given aflat and smooth roadway segment with no wind, the rider will tend tohold a speed which suits the rider's purpose at the time. The road speedof a bicycle is, in general, a direct function of the power applied bythe rider and an inverse function of the resistance to bicycle motionincluding slope of the roadway and wind resistance. The power input fromthe rider is directly proportional to the product of the pedal crankrotational speed and the pedal force applied by the rider. The powerinput is, of course, limited by the physical capabilities of the rider;the power most persons can deliver to a bicycle transmission system on asustained basis is a fraction of a horsepower (hp), perhaps aboutone-fifth hp. Many riders find that pedaling at the rate of about 60crank RPM is quite agreeable; however, each rider has some upper limitof pedaling speed, perhaps in the vicinity of 100 RPM and does not wantto exceed that limit. Also each individual rider may be able to exert apeak value of pedal force somewhat greater than the rider's body weight;however, the rider may not want to apply a sustained average pedal forcegreater than an upper limit, perhaps about one-half of the rider's bodyweight. By proper use of the ratio changing power transmission of thebicycle, the various limitations of the rider and the differentconditions of operation can be accommodated.

The manner in which the desired operating characteristics are achievedby the automatic shifter of this invention is graphically illustrated inFIG. 8. The graph of FIG. 8 shows pedal force as a function of pedalspeed for a constant power input to the bicycle. The graph includesthree curves representing the fourth, fifth and sixth speed ranges ofthe bicycle transmission, each for the same power input. The horizontalline labeled "Force Limit" represents the predetermined value of pedalforce F which the rider does not want to exceed. The vertical linelabeled "RPM Limit" represents the predetermined value of pedal crankrotational speed which the rider does not want to exceed. The graphrepresents, as one example, an upshift from fourth speed to fifth speed.With the bicycle operated in fourth speed, the RPM limit is indicated atpoint A. At this point, the automatic shifter upshifts the transmissionto the fifth speed range at point B. Operation at point B permits therider to pedal at a lower RPM but a higher amount of force is requiredfor maintaining the same power input. Since the power input remains thesame, the bicycle road speed remains substantially the same. The graphalso shows, as another example, a downshift from sixth speed to fifthspeed. With the bicycle operating in the sixth speed range, it isassumed, for example, that the rider is on a gradual uphill slope andthe pedal force is increased to the predetermined limiting value atpoint C. In response to this limiting value, the automatic shifterdownshifts the transmission to fifth speed range at point D. Operationat point D allows the rider to apply a lower pedal force but requires ahigher pedal RPM in order to maintain the same power input. Again, thetransition is made without an abrupt road speed change.

It is observed, with reference to FIG. 8, that the automatic shifter isadapted to downshift the bicycle transmission when the applied pedalforce exceeds the predetermined value F and it is adapted to upshiftwhen the pedal crank RPM exceeds a predetermined value S. The rider may,however, choose to exceed both the pedal force limit F and the pedalspeed limit S at the same time. In case that occurs, the controller 72is programmed to resolve the conflict and call for either an upshift ora downshift or leave the shifter in its existing position. In theillustrative embodiment, the conflict is resolved by programming thecontroller to produce an upshift to the next higher speed range if it isavailable.

The operating characteristics of the automatic shifter of this inventionare also graphically represented in FIGS. 9 and 10. FIG. 9 shows theupshift points in terms of pedal crank rotational speed as a function ofbicycle road speed. It is assumed that the pedal force limiting value Fis not exceeded in this example of operation. This graph representsacceleration of the bicycle in the first speed range with increasingpedal crank speed up to the limiting value S. When that speed isreached, the automatic shifter operates to upshift the transmission tothe second speed range. As a result of the upshift, the operation in thesecond speed range commences at a reduced value of pedal crank rotationspeed. As the bicycle road speed is increased, the limiting pedal crankrotational speed S is reached again and the automatic shifter upshiftsthe transmission to the third speed range. This operation continues inthe same manner as the bicycle speed is increased in the successivespeed ranges with an upshift occurring in each successive speed range atthe predetermined pedal crank rotational speed S.

FIG. 10 is a graphical representation of the operation of the automaticshifter showing the downshift points in terms of pedal force as afunction of the traction wheel torque. It is assumed that the pedalspeed limiting value S is not exceeded in this example of operation. Inthis graph, operation is depicted wherein the automatic transmissiondownshifts from a higher speed range to a lower speed range when thepedal force limiting value F is reached in any one of the speed ranges.For example, with operation in the tenth speed range on an uphill slope,additional pedal force is applied to maintain speed until the limitingpedal force value F is reached. At that point, the automatic shifterdownshifts the transmission to the ninth speed range which requires areduced value of pedal force to maintain the same power input providedthat the pedal crank rotation rate is increased. Operation in the ninthspeed range continues until the limiting force F is reached which causesthe automatic shifter to downshift to the eighth speed range. Thisdownshift operation is available from any one of the speed rangesexcept, of course, the first speed range.

Operation of the Automatic Shifter

The operation of the automatic shifter will now be described withreference to FIGS. 7 and 7a which represent the electronic circuits ofthe system and with reference to the action diagrams of Appendices Athrough H which represent the program of the microcomputer 70.

In the action diagrams of Appendices A through H, the lines in eachmodule are numbered sequentially for convenience of reference in thediscussion that follows. The notation regarding the control structuresin the action diagram is conventional, as follows. Simple sequencestatements are preceded by a `-`. Decision statements are preceded by`--` and are bracketed using `|`. Looping constructs are preceded by`==` and are bracketed with `|`. In addition, the following notation isused. Lines surrounded by `{` and `}` represent comments. Sections ofthe program code which are defined as modules are invoked using the"perform" statement. Wherever the term `record` is used, it is intendedto mean "store a value in nonvolatile memory".

The control program of this invention is divided into the followingmodules: Main Module (Appendix A), Shifter Configuration Module(Appendix B), Rider Calibration Module (Appendix C), Upshift DemandModule (Appendix D), Downshift Demand Module (Appendix E), ShifterControl Module (Appendix F), Shift Actuation Module (Appendix G) andUser Request Module (Appendix H).

Main Module of Control Program

Referring now to Appendix A, operation of the automatic shifter will bedescribed in general terms with reference to the Main Module of thecontrol program. As shown in the action diagram of Appendix A, the MainModule is initiated at line 1. At the outset, the module establishes theuser input/output requirements as indicated by the comment at line 3.The sequence statement at line 5 is operative to define certain userinput selector switches to be selectively actuated by the rider. Theseinput switches are located on the control panel 73 as shown in FIG. 11and are labelled "Configure", "Up", "Down", "Alternate" and "Enter". Thepurpose of these input switches will be described below. The nextsequence statement on line 6 is operative to define certain outputindicators which are located on the control panel and are labelled"Ready" and "Configuration". These indicators are two-state indicatorssuch as light emitting diodes (LEDS). The comment at line 8 is areminder that it is necessary to properly configure the automaticcontrol system before it is put into use. Accordingly, the decisionstatement at line 10 determines if the system is not already configuredor if the Configure switch has been actuated. If either statement istrue, the sequence statement at line 11 is executed and the programbranches to execute the Shifter Configuration Module of Appendix B whichwill be described below. After the Shifter Configuration Module isexecuted, the program returns to the Main Module at line 12 which endsthe decision statement. The program then advances to the next step. Ifat line 10 both of the decision statements are false, the programadvances directly to line 12 which ends the decision statement.

Next, it is necessary to initialize the state of the control program asindicated by the comment at line 14. This includes turning on the"Ready" indicator at line 16 and setting the countdown timers U and D totheir initial values at line 17. At this point, the controller 72 is inreadiness for the operational mode of the automatic shifter.

With the system ready for operation, a polling loop is started for thepurpose of monitoring all inputs to the computer as indicated at line19. The program advances to the looping construct at line 21 in whichall inputs will be monitored successively. This portion of the programwithin the looping construct, initiated at line 21, represents theoperation of the automatic control system while the bicycle isoperational, i.e. being ridden. In this operational phase, the sequencestatement at line 22 causes the microcomputer to read signal A whichrepresents the instantaneous pedal force value. Then, the statement atline 23 causes the signal B to be read to obtain a pedal rotation rate.The statement at line 24 derives rates of change of the pedal force andthe speed values. After deriving this data, the statement 25 causes theprogram to execute the Upshift Demand Module and thereby check the needfor an upshift. If an upshift is needed, the Shifter Control Module andthe Shift Actuation Module will be invoked to execute the upshift, aswill be described below. Then, the statement at line 26 causes executionof the Downshift Demand Module to thereby check the need for adownshift. If a downshift is needed, the Shift Control Module and theShift Actuation Module will be invoked as will be described below. Thenthe program, at the statement of line 27, executes the User RequestModule. This module causes either upshift or downshift in response tomanual actuation of the "Up" or "Down" switches on the control panel towhich override the controller of the automatic shifter. The loopingconstruct initiated at line 21 is repeated over and over until thecontroller is powered down. This occurs when the bike rider actuates thePower switch on the control panel. In response to the turn-off of power,the program is ended as indicated at line 29.

Shifter Configuration Module

The automatic shifter is configured to the bicycle and to the rider byexecution of the Shifter Configuration Module (which performs the RiderCalibration Module) after the automatic system is first installed on thebicycle. When the automatic shifter is part of the original equipment,the Shifter Configuration Module may be executed at the factory, at theretail dealership or by the owner. In a retrofit installation of theautomatic shifter, the execution of the Shifter Configuration Module maybe done by the owner of the bicycle.

Before describing the Shifter Configuration Module, an overview of itsfunction will be given. The process performed by the ConfigurationModule is effective to calibrate the automatic control system to theparticular bicycle power transmission and to calibrate it to theindividual rider's preferences.

The power transmission calibration establishes the required movements ofthe power actuators of the controller to re-position the derailleurs forshifting from one sprocket to another. For this, a calibrated positionis determined for each of the front sprockets and for each of the rearsprockets and the shifter calibration signals corresponding thereto arestored in the shifter calibration stores 182 and 184 referred to above.In the illustrative embodiment for a ten speed shift pattern, theshifter calibration is established by the performance of the ShifterConfiguration Module.

In the illustrative embodiment, the shift pattern is defined in thelook-up table in the ROM 186 and is shown in Table III, i.e. speedranges in the order of 1 through 10. Preferably, the first speed rangeis processed first so the rider may proceed through the calibrationprocess on a somewhat intuitive basis, taking speed ranges one throughten in sequence. When the calibration procedure is to be started, thebicycle chain may have been left on any combination of front and rearsprockets, i.e. in any arbitrary speed range. It will then be necessaryfor the rider to manually control shifting by the Up, Down and Alternateswitches on the control panel to select speed range number 1. Thesprocket combination to be selected is A1. (The person doing thecalibrating will need to have a table like Table III for the particularbicycle. The table will show the sprocket combination and the gear ratiofor each successive speed range number. Such a table can be readilyconstructed by counting the number of teeth on each sprocket andcalculating the gear ratio.)

For manually selecting speed range 1, the front shifter position iscalibrated first for front sprocket A by actuating the Alternate switchand moving the front shifter using manual control switches "Up" and"Down" on the control panel. (Actuation of the manual Alternate switchenables manual control of the front shifter by the Up and Down switches;deactuation of the Alternate switch enables control of the rear shifterby the Up and Down switches.) The Up switch moves the shifter toward thelarger sprocket and the Down switch moves it toward the smallersprocket. The calibration is carried out with the bicycle being pedaledand visual checking of the chain position relative to the desiredsprocket. After the shifter calibration position is determined for thefront shifter, the shifter calibration signal representing that positionis entered in the calibration signal store 182. Next, the rear shiftercalibration position is established for the rear sprocket number 1deactuating the Alternate switch and using the Up and Down switches. Theshifter calibration signal for rear sprocket number 1 is then stored inthe shifter calibration store 184. Next, the same calibration process isperformed for speed range number 2 and then for speed range numbers 3through 10 in that order. It will be understood that this calibrationprocedure involves placing each shifter in the same calibration positionmore than once whereas it is necessary to record the shifter positionfor each sprocket only once. Other procedures may be used which will notrequire such repetitive positioning of the shifters.

The Shifter Configuration Module will now be described with reference toAppendix B. As shown in the action diagram, the module is initiated atline 1. The comment in lines 3 through 8 sets forth a generaldescription of the general process performed by the module.

The sequence statement on line 10 is effective to turn on theConfiguration Indicator and the statement on line 11 sets the speedratio counter to 1. As described above, the rider must manually controlthe shifting by using the Up and Down switches in order to put theshifter in the first speed range (The terms "speed ratio" and "speedrange" are used interchangeably.).

The program advances to a looping construct at line 12 and a loop willbe entered which will continue until the user actuates the Configureswitch. At line 13 a subsidiary looping construct is entered which willrepeat until the user actuates the Enter switch. The decision statementat line 14 determines whether the Alternate switch is actuated. If itis, the program advances to the decision statement at line 15 whichdetermines whether the rider actuated the Up switch. If so, the programadvances to line 16 which moves the front shifter towards the largersprocket. If the rider had actuated the Down switch, as determined atline 17, then line 18 moves the front shifter toward the smallersprocket. At line 19, the decision statement of line 15 is ended.

If at line 14, it had been determined that the Alternate switch was notactuated the program would have branched to the else statement at line20. Then the program would advance to the decision statement at line 21to determine if the rider had actuated the Up switch. If so, line 22would cause the rear shifter to move toward the larger sprocket. If therider had operated the Down switch, as indicated at line 23, the programwould advance to line 24 which would cause the rear shifter to movetoward the smaller sprocket. The decision statement of line 21 is endedat line 25. The decision statement of line 14 is ended at line 26. Then,after the rider has actuated the Enter switch on the control panel, thelooping construct which started at line 13 will end at line 27. Next,the program advances to line 28 and records the front and rear shifterpositions in the shifter calibration signal store 182 and 184,respectively. That completes the calibration of the front and rearshifter for the speed ratio number 1. The program at line 29 incrementsthe speed ratio counter by one count and the program loops back to line13 to repeat the loop for the speed ratio number 2. This loop isrepeated for each of the successive speed ratio numbers 3 through 10, inthat order. Then, the user will press the Configure switch and theprogram at line 30 will end the looping construct which started on line12. Next, at line 31, the program branches to the Rider CalibrationModule of Appendix C which will be described presently. After the RiderCalibration module is performed, the program returns to line 32 of theShifter Configuration Module and the Configuration Indicator on thecontrol panel is turned off. At line 33, the module is ended.

Rider Calibration Module

As discussed above, the operating characteristics of the automaticshifter are adapted to the preferences and capabilities of theindividual bicycle rider. This is provided by the Rider CalibrationModule of the control program as represented in Appendix C. Aspreviously discussed, the individual rider may set predetermined valuesof pedal force F and pedal speed S which the rider does not want toexceed. The limiting value of these parameters which the rider choosesmay depend upon the nature of the bicycle ride to be undertaken.

The automatic shifter is calibrated for the individual rider preferencesby the process executed by the Rider Calibration Module as will bedescribed presently. When the Shifter Configuration Module of thecontrol program is performed, as described above, it branches at line 31to perform the Rider Calibration Module to establish the parametersaccording to the individual's preferences. The same rider, or adifferent rider, may wish to change the calibration parameters fromtime-to-time. The control program facilitates such changes by aprovision in the User Request Module of Appendix H, which will bedescribed subsequently.

The Rider Calibration Module is initiated at line 1. The comments inlines 3 through 7 give a general description of the process which isperformed by this module. At line 9, a looping construct is entered forestablishing the limiting value of pedal force F. First, a force valueis derived from signal A as indicated at line 10 and then it is recordedat line 11 in the pedal force limit store 173 of FIG. 7A. This loop isrepeated until the user presses the Enter switch which ends the loop asindicated at line 12. Next, the program enters into a looping constructat line 13 for establishing the limiting value of pedal speed S. Line 14derives the pedal speed from signal B and the current value is recordedat line 15 in the pedal speed data store 175 of FIG. 7A. This loop iscontinued until the user presses the Configure Switch which ends theloop as indicated at line 16. This completes the rider calibrationprocess and at line 17 the program returns to the Shifter ConfigurationModule at line 32. At this point, the Configure indicator on the controlpanel is turned off and the bicycle is ready for use of the automaticshifter in the operational mode.

Operational Mode of Shifter

After the automatic shifter has been configured and calibrated byexecution of the Shifter Configuration Module and the Rider CalibrationModule as described above, the shifter is in readiness for operationaluse of the bicycle. As shown in the Main Module of Appendix A, after theperformance of the Shifter Configuration Module, the Main Module sets upthe initial state of the control program which includes setting andstarting the countdown timers and turning on the Ready indicator. Asfurther shown in the Main Module, a polling loop which monitors allinputs is started. After sequentially deriving pedal speed and pedalforce values, the Main Module invokes the Upshift Demand Module at line25.

Upshift Demand Module

Before describing the Upshift Demand Module, it will be helpful toconsider the conditions which may be used to initiate an upshift of thepower transmission. One criteria for producing a demand for an upshiftis that the average pedal speed over a predetermined time interval, forexample about two to five seconds, exceeds the predetermined limitspeed. In the illustrative embodiment of the invention, this isaccomplished by determining whether the pedal speed exceeds the limitspeed at multiple points in time within a predetermined time interval.For this, the microcomputer compares the measured speed repeatedly withthe predetermined speed and a countdown timer in the microcomputerestablishes the time interval. As an alternative, the average pedalspeed can be obtained by counting the number of pulses in the speedsignal during successive time intervals of constant duration.

In addition to the pedal speed criteria discussed above, an upshift maybe provided in response to a predetermined threshold value of time rateof change of pedal speed. This permits the rider to force an upshift incertain operating conditions.

The Upshift Demand Module will now be described with reference toAppendix D. This module, which is initiated at line 1, is operative todetermine whether operating conditions of the bicycle require anupshift. The decision statement at line 3 determines whether the shifteris currently in the highest speed ratio. If it is, an upshift cannot beperformed and the program branches to line 16 and thence it proceeds tothe end of the module at line 17. If it is not, the sequence statementat line 4 checks the current pedal speed. The decision statement at line5 then determines whether the pedal speed is higher than thepredetermined limit value S. (If it is not, the program branches to the"else" decision statement at line 13. It then proceeds to line 14 whichstops the countdown timer and resets it for a new timer cycle which willbe discussed below.) If the pedal speed is higher than the predeterminedlimit value and if the countdown timer U is stopped, as determined bythe decision statement at line 6, then at line 7 the program starts thecountdown timer U. If at line 6, it is determined that the countdowntimer U is not stopped and, as determined at line 8 it has reached zero,then line 9 causes the program to branch and perform the Shifter ControlModule of Appendix F which will be described presently.

If at line 8 it is determined that the countdown timer had not reachedzero, the program advances to line 10 which determines whether the rateof change of pedal speed exceeds a predetermined threshold value. If itdoes, the program advances to line 11 which causes the program to branchand perform the Shifter Control Module of Appendix F. This operationpermits the rider to achieve an upshift without time delay bymomentarily accelerating the pedal rotation. This may be used, forexample, where the rider has just crested a hill and desires animmediate upshift. After the Shifter Control Module is performed at line11, the program returns to the Upshift Demand Module at line 12. If atline 10 the rate of change of pedal speed does not exceed the thresholdvalue, the program advances directly to line 12. At line 12 the decisionstatement of line 6 is ended.

If at line 5 it is determined that the pedal speed is not higher thanthe predetermined limit, the program branches to line 13 and thenadvances to the sequence statement at line 14 which stops the countdowntimer U and resets it for start of a new timer cycle. This places it inreadiness for the next pass through the Upshift Module. (The pollingloop in the Main Module which begins on line 21 is executed in a timeinterval measured in microseconds which results in a very large numberof speed checks in each cycle of the countdown timer.) Then the programadvances successively to lines 15 and 16 which end the correspondingdecision statements. At line 17 the module is ended and the programreturns to the Main Module of Appendix A at line 26 which causes theprogram to branch to the Downshift Demand Module of Appendix E.

Thus, the countdown timer U operates to inhibit an upshift unless eachcheck of the pedal speed, during a full cycle of the countdown timer,shows that it exceeds the predetermined limit value. This preventsunnecessary shifting in response to instantaneous occurrences of pedalspeed in excess of the predetermined limit.

Downshift Demand Module

Before describing the Downshift Demand Module the conditions which maybe used to produce a downshift will be considered. As discussed above,one criteria is that the average pedal force over a predetermined timeinterval exceeds the predetermined limit force F. The predetermined timeinterval is, for example, about two to five seconds. In the illustrativeembodiment, this is accomplished in the same manner as described abovewith reference to the average pedal speed.

In addition to the above criteria, a forced downshift may be provided bydetermining whether the time rate of change of pedal force exceeds apredetermined threshold. If so, a downshift is provided regardless ofthe average value of pedal force.

In order to inhibit a downshift signal with the bike at a standstill, apredetermined minimum pedal speed is used as a condition fordownshifting.

The Downshift Demand Module will now be described with reference toAppendix E. This module is similar to the Upshift Demand Module but hasa special feature to determine whether the pedal speed has a certainminimum value. This Module is initiated at line 1 and determines whetherthere is a need for a downshift. The decision statement at line 3determines whether the shifter is currently in the lowest speed ratio.If it is, the program branches to line 20 and thence advances to the endof the module at line 21 and returns to the Main Module at line 27. Ifit is not in the lowest speed ratio, the program advances from line 3 toline 4 which checks the current pedal speed. The decision statement atline 5 then determines whether the pedal speed has reached apredetermined minimum value which is indicative that the bicycle is notat a standstill and thus is able to perform a downshift command. If itis determined that the pedal speed has not reached the minimum value theprogram branches to line 19 and thence proceeds to the end of themodule. If the pedal speed has reached the predetermined minimum valueand, as determined at line 6, it has reached the predetermined limitvalue S the program branches to line 19 and thence advances to the endof the module. If, on the other hand, the pedal speed has reached thepredetermined minimum value and has not reached the predetermined limitvalue S, the program advances from line 6 to line 7 which checks thepedal force value. Then, the decision statement at line 8 determineswhether the pedal force is higher than predetermined the limit value F.If it is not, the program branches to line 16 and thence proceeds to thesequence statement at line 17 which stops and resets the countdown timerD to place it in readiness for the next pass through the module. If thepedal force is higher than the limit, it is determined at line 9 whetherthe countdown timer D is stopped. If it is, the sequence statement atline 10 causes the countdown timer D to be started. If it is notstopped, the program branches to line 11 which determines whether thecountdown timer D has reached zero. If it has, the program advances toline 12 which causes the program to branch and perform the ShifterControl Module of Appendix F.

If countdown timer D has not reached zero, as determined at line 11, theprogram branches to line 13 which determines whether the rate of changeof pedal force exceeds a predetermined threshold. If it does, theprogram advances to line 14 which causes the program to branch andperform the Shifter Control Module of Appendix F. If it does not exceedthe threshold, the program branches from line 13 to line 15. Thus, thecountdown timer D operates to inhibit a downshift unless each check ofthe pedal force, during a full cycle of the countdown timer, shows thatit exceeds the predetermined limit value F. This prevents undesirableshifting in response to instantaneous occurrences of pedal force inexcess of the predetermined limit.

The program proceeds from line 15 to the end of the module at line 21and returns to the Main Module of Appendix A at line 27. The Main Modulethen causes the program to perform the User Request Module of Appendix Hwhich will be described subsequently.

Shifter Control Module

In the operation of the automatic shifter as thus far described, theUpshift Demand Module of Appendix D may call for an upshift and theDownshift Demand Module of Appendix E may call for a downshift. In caseeither an upshift or a downshift is called for, the Shifter ControlModule of Appendix F is invoked. This module is shown in Appendix F andwill be described in detail below. Before the module is described, anoverview of its operation will be given.

As stated above, the Shifter Control Module is invoked when either anupshift or a downshift is called for; it then determines whichcombination of front and rear sprockets is required for the next higheror the next lower speed ratio, as the case may be. For this purpose,this module utilizes the look-up table in ROM 186 which is shown in FIG.7 and was described with reference to the Shifter Configuration Moduleand Table III. The look-up table stores information corresponding tothat of Table III. When either an upshift or a downshift is to beexecuted, with the transmission in any one of the ten different shiftstates, the microcomputer accesses (from the look-up table) the controlsignal for both front and rear sprockets to produce the desired sprocketcombination. For example, assume that the rider mounts the bicycle withthe transmission in speed range number 3, the shift state in which thetransmission was left after the last ride. As shown in Table III, thesprocket combination is the large front sprocket B and the largest rearsprocket 1. When the rider starts out from a standstill, it will beassumed that the Downshift Demand Module calls for a downshift. As shownin Table III, the downshift control signal for the front sprocket is 1-0and for the rear sprocket it is also 1-0. This means that the chain isto be transferred from the larger front sprocket B to the smaller frontsprocket A and from the larger rear sprocket 1 to the smaller rearsprocket 2. In this shift, only one transition is needed for both thefront and rear sprockets, i.e. the chain is to be transferred to theimmediately adjacent sprocket in both cases. It will be assumed thatafter the rider has pedaled the bike for a while in speed range number2, an upshift is called for. The upshift control signal, as shown inTable III, is 0-1 for the front sprocket and it is also 0-1 for the rearsprocket. This means that the chain is to be transferred from thesmaller front sprocket A to the larger front sprocket B and from thesmaller rear sprocket 2 to the larger rear sprocket 1. Next, assume thatanother upshift is called for from speed ratio number 3. For this, theupshift control signal for the front sprocket is 1-0 and for the rearsprocket it is 1-0/1-0, the latter notation meaning that two transitionsare required for the chain at the rear sprocket set. For the frontshifter the chain will be transferred in a single transition from thelarger sprocket B to the smaller sprocket A. Then for the rear shifterthe chain will be transferred from the larger sprocket 1 in a firsttransition to the adjacent smaller sprocket 2. In this transitory state,the sprocket combination of A2 is actually a downshift from speed rangenumber 3 to speed range number 2, whereas an upshift was called for fromspeed range number 3 to speed range number 4. In order to achieve thisupshift, the program recognizes that two transitions are necessary andthe upshift control signal is maintained in effect so that secondtransition is performed by shifting the chain from the larger rearsprocket 2 to the smaller rear sprocket 3. This illustrates the mannerin which the desired upshifts and downshifts are accomplished in orderto shift the transmission in the order of gear ratio, i.e. in thenumerical order of speed range number.

Referring now to Appendix F, the action diagram of the Shifter ControlModule will be described. The module is initiated in line number 1 toshift to the next lower or higher speed range. The comments in lines 3through 6 describe the general process which is performed by the module.

The sprocket combination, and hence speed range, which is engaged by theautomatic shifter at any time during operation can be determined bycomparing the stored front and rear shifter position signals with thestored front and rear calibration signals, respectively. In particular,the chain is engaged with front sprocket A when the stored front shifterposition signal in store 174 is equal to the stored calibration signalfor sprocket A in store 182. It is engaged with sprocket B when positionsignal in store 174 is equal to the stored calibration signal forsprocket B in store 182. The rear sprocket with which the chain isengaged is determined in the same manner. Thus, the engaged speed rangeat any time during operation is ascertained by the microcomputer 70 bycomparing the position signals with the calibration signals for both thefront and rear shifters. The engaged speed range is given by thecombination of the engaged front and rear sprockets, as stored inlook-up table in ROM 186 and shown in Table III. The engaged speed rangemay be displayed to the rider on the control panel by a read-out displayunit, not shown.

Referring further to Appendix F, the decision statement at line 8determines whether the demand is a demand for a lower speed range. If itis, the program advances to line 9 and the table entry in the look-uptable 186 is found for the next lower speed range and the programbranches to line 14. If it was not a demand for a lower speed rationumber (downshift) the program branches from line 8 to line 10 of thedecision statement and then at line 11, the table entry for the nexthigher speed ratio number (upshift) is found and the program branches toline 14. The decision statement of line 8 is ended at line 12.

For either a downshift or upshift, the look-up table entry is examinedat line 14 to determine whether a front sprocket shift is required. Ifit is determined that a front sprocket shift is not required, theprogram branches to line 23 which will be described below. If at line 14it is determined that a front sprocket shift is required, the programadvances to the looping construct at line 15. Here the program enters aloop which will be repeated until there are no more front sprocket shiftdemands in the table entry. (There will be only one shift demand in thetable entry for a bicycle with only two front sprockets, as in theexample being described. However, the Shifter Control Module is adaptedto provide control for a bicycle with three or more front sprocketswherein more than one shift may be demanded by the table entry.) At line16 the decision statement determines whether the shift demand is for ashift to a smaller sprocket. If it is, the program advances to line 17at which the program branches to the Shift Actuation Module of AppendixG. (The Shift Actuation Module, which may be invoked by the ShifterControl Module at this or other points, will be described subsequently.)If at line 16 it is determined that the demand is not for a shift to asmaller sprocket, the program goes to the else 10 statement at line 18and thence to line 19 which causes the program to branch to the ShiftActuation Module. The decision statement of line 16 is ended at line 20and the program advances to line 21 which ends the loop if there are nomore shift demands in the table entry. If there are, the program loopsback to line 15 and repeats down to line 21 until all shift demands aresatisfied. Then, at line 22, the decision statement of line 14 is endedand the program advances to line 23.

The decision statement at line 23 determines whether the look-up tableentry indicates the need for a rear sprocket shift. If it does not, theprogram branches to line 31 and the program advances to line 32 whichends the module and returns the program to the Main Module which invokesexecution of the User Request Module, which will be described below. Ifat line 23 it is determined that the table entry indicates a rearsprocket shift, the program advances to the looping construct at line 24and enters a loop which is repeated until no more shift requests remainin the table entry. This looping construct for the rear sprocket shiftrequest is executed in the same manner as the looping construct of line15 for front sprocket shift request, as described above. Then at line32, the program is returned to line 27 of the Main Module to perform theUser Request Module.

Before describing the User Request Module, however, it remains todescribe the Shift Actuation Module. As noted above, the Shifter ControlModule invokes the Shift Actuation Module at one or more points in themodule. At each such point, program control is returned to the ShifterControl Module after execution of the Shift Actuation Module, which willbe described next.

Shift Actuation Module

As described above, the Shifter Control Module determines whether ademand for Shift by either the Upshift Demand Module or the DownshiftDemand Module requires a front sprocket shift, a rear sprocket shift orboth. In each of these cases, the Shift Actuation Module is invoked forthe purpose of carrying out the required shift.

Referring now to the Shift Actuation Module as shown in Appendix G, themodule is initiated at line 1. The comments of lines 3 through 6describe the process performed by the module.

The decision statement at line 8 determines whether the request is for alarger sprocket. If it is, the program enters a looping construct atline 9. Then at line 10, the front shifter actuator or the rear shifteractuator, as specified is moved toward the next larger sprocket. At line11, the desired position for the shifter, which is stored in the shiftercalibration signal store 182 or 184, is compared with the currentshifter position signal in the signal store 174 or 176, as the case maybe. At line 12 the program loops back to line 9 and repeats until theshifter is in the desired position. Then, the program branches from line12 to line 18 and advances to the end of the module at line 19. Then theprogram returns to Shifter Control Module for the continued execution ofthat module.

If the request is not for a larger sprocket, the program branches to theelse statement at line 13 for processing a request for a smallersprocket. At line 14, the program enters a looping construct like thatat line 9, as described above, and the actuator is moved until theshifter is in the desired position. Then, the decision statement of line13 is ended at line 18. After line 18, the module is ended at line 19and the program returns to the Shifter Control Module for the continuedexecution of that module.

As described above, after completion of the Shifter Control Module, theprogram returns to the Main Module; at this point in the Main Module,the program branches to the User Request Module of Appendix H which willbe described below.

User Request Module

The program is provided with a User Request Module in order to permitthe cyclist at any time to (1) configure the automatic shifter to thebicycle and to calibrate for the rider's preferences and (2) overridethe automatic shifter with a manual upshift or a manual downshiftcommand. This module will be described with reference to Appendix H. Itis executed at line 27 in the Main Module.

As shown in Appendix H, the User Request Module is initiated at line 1.As described in the comments of lines 3 through 6, this module willrespond to the manual Up, Down, Alternate and Configure switches on thecontrol panel. The decision statement at line 8 determines whether theConfigure switch is actuated. If not, the program branches to line 16and thence to the end of the module. If it is actuated, the programadvances to line 9 which turns off the Ready indicator and causesexecution of the Shifter Configuration Module in Appendix B as calledfor by the perform statement of line 10. Then, in line 11, the Readyindicator is turned back on. If the Configure switch is not actuated, asdetermined at line 8, the program branches to the else-if statement ofline 12 which determines whether the Up switch is actuated. If it is,the program advances to line 13 which causes execution of the ShifterControl Module of Appendix F. If at line 12 it is determined that the Upswitch is not actuated, the program advances to line 14 which determineswhether the Down switch is actuated. If it is, the program at line 15causes execution of the Shifter Control Module of Appendix F.

Summary of Operational Mode

As described above, with reference to the main module of FIG. 12, duringthe operational mode of the automatic shifter, the controller 72 undercontrol of the main module continuously repeats a loop in which thefollowing steps are sequentially performed: (1) derive a pedal forcevalue, (2) derive a pedal speed value, (3) update the pedal forceaverage value, (4) check for upshift need and if needed energize theappropriate actuator or actuators, (5) check for downshift need and ifneeded energize the appropriate actuator or actuators, and (6) check foruser's requests and perform any such requests. This loop is continuouslyrepeated until the controller is powered down which ends the operationalprogram.

CONCLUSION

An automatic speed range shifter for bicycles and other velocipedes hasbeen disclosed and is a significant improvement over the prior art inrespect to method, structure and operational features.

The method utilizes criteria for upshifting and downshifting such thatthe need for shifting is determined at the earliest perceptibletime--well before the rider would sense it from physical discomfort orany other observation. Upshifting is initiated when the pedal speedincreases above a predetermined average value. Downshifting is initiatedwhen the pedal force increases above a predetermined average value.Upshifting is also initiated when the time rate of change of pedal speedincreases above a predetermined threshold, regardless of the pedal speedvalue. Similarly, downshifting is initiated when the time rate of changeof pedal force increases above a predetermined threshold, regardless ofthe pedal force value.

The automatic shifter of the invention comprises a pedal crank speedsensing means and a pedal force sensing means, a servo motor foractuating a control member for upshifting or downshifting the powertransmission, and a microcomputer responsive to speed and force signalsfrom the sensing means for initiating the energization of the servomotor to upshift the transmission when the average pedal speed increasesto a predetermined value and for initiating the energization of theservo motor to downshift the transmission when the average pedal forceincreases to a predetermined value.

The automatic shifter is adapted for installation on a conventionalbicycle either as a factory installation or as a retrofit. It isespecially well adapted for use with any conventional derailleur orother conventional ratio-changing bicycle transmission. It requires onlya small number of mechanical and electronic components and in case itbecomes inoperative, the manual shifter can be easily reinstated.

Although the description of this invention has been given with referenceto a particular embodiment, it is not to be construed in a limitingsense. Many variations and modifications will now occur to those skilledin the art. For a definition of the invention, reference is made to theappended claims.

                                      Appendix A                                  __________________________________________________________________________    Main Module                                                                   __________________________________________________________________________    Main Module                                                                   2 |                                                                  3 |                                                                      { Establish the user input/output requirements. }                         4 |                                                                  5 |                                                                  define input switches: Configure, Up, Down, Alternate, Enter                  6 |                                                                  define output indicators: Ready, Configuration                                7 |                                                                  8 |                                                                      {Make sure the control unit is properly configured before use. }          9 |                                                                  10                                                                              |                                                                  if (not configured) or (Configure switch actuated)                            11                                                                              |                                                                      |                                                                perform (Shifter Configuration)                                               12                                                                              |                                                                  end if                                                                        13                                                                              |                                                                  14                                                                              |                                                                      { Set up the initial state of the control program. }                      15                                                                              |                                                                  16                                                                              |                                                                  turn on Ready indicator                                                       17                                                                              |                                                                  set countdown timers U and D to initial value                                 18                                                                              |                                                                  19                                                                              |                                                                      { Start a polling loop to monitor all inputs. }                           20                                                                              |                                                                  21                                                                              |                                                                      ==repeat                                                                  22                                                                              |                                                                      |                                                                derive a pedal force value from signal A                                      23                                                                              |                                                                      |                                                                derive a pedal speed value from signal B                                      24                                                                              |                                                                      |                                                                derive rates of change for pedal force and speed values                       25                                                                              |                                                                      |                                                                perform (Upshift Demand)                                                      26                                                                              |                                                                      |                                                                perform (Downshift Demand)                                                    27                                                                              |                                                                      |                                                                perform (User Request)                                                        28                                                                              |                                                                  until powered down                                                            29                                                                            end of program                                                                __________________________________________________________________________

                                      Appendix B                                  __________________________________________________________________________    Shifter Configuration Module                                                  __________________________________________________________________________    Shifter Configuration Module                                                  2 |                                                                  3 |                                                                      { The user will calibrate each speed ratio in succession, starting        4 |                                                                        with the lowest speed ratio, by pressing Up and Down switches           5 |                                                                        until the gears are aligned properly, and by pressing the               6 |                                                                        Enter switch when this is accomplished. When all gears have             7 |                                                                        been positioned, the user will press the Configure switch to            8 |                                                                        indicate completion. }                                                  9 |                                                                  10                                                                              |                                                                  turn on Configuration indicator                                               11                                                                              |                                                                  set speed ratio counter to                                                    12                                                                              |                                                                      == loop until the user actuates the Configure switch                      13                                                                              |                                                                      |                                                                      == loop until the user actuates the Enter switch                        14                                                                              |                                                                      |                                                                      |                                                              if (Alternate switch is actuated)                                             15                                                                              |                                                                      |                                                                      |                                                                      |                                                            if (Up switch is actuated)                                                    16                                                                              |                                                                      |                                                                      |                                                                      |                                                                      |                                                          move front shifter toward larger sprocket                                     17                                                                              |                                                                      |                                                                      |                                                                      |                                                            else if (Down switch is actuated)                                             18                                                                              |                                                                      |                                                                      |                                                                      |                                                                      |                                                          move front shifter toward smaller sprocket                                    19                                                                              |                                                                      |                                                                      |                                                                      |                                                            end if                                                                        20                                                                              |                                                                      |                                                                      |                                                              else                                                                          21                                                                              |                                                                      |                                                                      |                                                                      |                                                            if (Up switch is actuated)                                                    22                                                                              |                                                                      |                                                                      |                                                                      |                                                                      |                                                          move rear shifter toward larger sprocket                                      23                                                                              |                                                                      |                                                                      |                                                                      |                                                            else if (Down switch is actuated)                                             24                                                                              |                                                                      |                                                                      |                                                                      |                                                                      |                                                          move rear shifter toward smaller sprocket                                     25                                                                              |                                                                      |                                                                      |                                                                      |                                                            end if                                                                        26                                                                              |                                                                      |                                                                      |                                                              end if                                                                        27                                                                              |                                                                      |                                                                end loop                                                                      28                                                                              |                                                                      |                                                                record front and rear shifter positions                                       29                                                                              |                                                                      |                                                                increment speed ratio counter                                                 30                                                                              |                                                                  end loop                                                                      31                                                                              |                                                                  perform (Rider Calibration)                                                   32                                                                              |                                                                  turn off Configuration indicator                                              33                                                                            end of module                                                                 __________________________________________________________________________

                                      Appendix C                                  __________________________________________________________________________    Rider Calibration module                                                      __________________________________________________________________________    Rider Calibration Module                                                      2 |                                                                  3 |                                                                      { Calibrate the user-defined threshold setting for pedal force            4 |                                                                        and then pedal speed. When the user is exerting the                     5 |                                                                        maximum desired force on the pedals, s/he will press the                6 |                                                                        Enter switch. Next, when the user is pedaling at the maximum            7 |                                                                        desired speed s/he will press the Configure switch. }                   8 |                                                                  9 |                                                                      == loop until the user actuates the Enter switch                          10                                                                              |                                                                      |                                                                derive a force value from signal A                                            11                                                                              |                                                                      |                                                                record the current force value                                                12                                                                              |                                                                  end loop                                                                      13                                                                              |                                                                      == loop until the user actuates the Configure switch                      14                                                                              |                                                                      |                                                                derive a pedal speed from signal B                                            15                                                                              |                                                                      |                                                                record the current pedal speed                                                16                                                                              |                                                                  end loop                                                                      17                                                                            end of module                                                                 __________________________________________________________________________

                                      Appendix D                                  __________________________________________________________________________    Upshift Demand Module                                                         __________________________________________________________________________    Upshift Demand Module                                                         2 |                                                                  3 |                                                                  if (not presently in highest speed ratio)                                     4 |                                                                      |                                                                derive a pedal speed from signal B                                            5 |                                                                      |                                                                if (pedal speed is higher than limit)                                         6 |                                                                      |                                                                      |                                                              if (countdown timer U is stopped)                                             7 |                                                                      |                                                                      |                                                                      |                                                            start countdown timer U                                                       8 |                                                                      |                                                                      |                                                              else if (countdown timer U has reached zero)                                  9 |                                                                      |                                                                      |                                                                      |                                                            perform (Shifter Control - higher speed ratio)                                10                                                                              |                                                                      |                                                                      |                                                              else if (rate of change exceeds threshold)                                    11                                                                              |                                                                      |                                                                      |                                                                      |                                                            perform (Shifter Control - higher speed ratio)                                12                                                                              |                                                                      |                                                                      |                                                              end if                                                                        13                                                                              |                                                                      |                                                                else                                                                          14                                                                              |                                                                      |                                                                      |                                                              stop and reset countdown timer U                                              15                                                                              |                                                                      |                                                                end if                                                                        16                                                                              |                                                                  end if                                                                        17                                                                            end of module                                                                 __________________________________________________________________________

                                      Appendix E                                  __________________________________________________________________________    Downshift Demand Module                                                       __________________________________________________________________________    Downshift Demand Module                                                       2 |                                                                  3 |                                                                  if (not presently in lowest speed ratio)                                      4 |                                                                      |                                                                derive a pedal speed from signal B                                            5 |                                                                      |                                                                if (pedal speed has reached minimum value) and                                6 |                                                                      |                                                                      |                                                                        (pedal speed has not reached limit)                                 7 |                                                                      |                                                                      |                                                              derive a pedal force from signal A                                            8 |                                                                      |                                                                      |                                                              if (pedal force is higher than limit)                                         9 |                                                                      |                                                                      |                                                                      |                                                            if (countdown timer D is stopped)                                             10                                                                              |                                                                      |                                                                      |                                                                      |                                                                      |                                                          start countdown timer D                                                       11                                                                              |                                                                      |                                                                      |                                                                      |                                                            else if (countdown timer D has reached zero)                                  12                                                                              |                                                                      |                                                                      |                                                                      |                                                                      |                                                          perform (Shifter Control - lower speed ratio)                                 13                                                                              |                                                                      |                                                                      |                                                                      |                                                            else if (rate of change exceeds threshold)                                    14                                                                              |                                                                      |                                                                      |                                                                      |                                                                      |                                                          perform (Shifter Control - lower speed ratio)                                 15                                                                              |                                                                      |                                                                      |                                                                      |                                                            end if                                                                        16                                                                              |                                                                      |                                                                      |                                                              else                                                                          17                                                                              |                                                                      |                                                                      |                                                                      |                                                            stop and reset countdown timer D                                              18                                                                              |                                                                      |                                                                      |                                                              end if                                                                        19                                                                              |                                                                      |                                                                end if                                                                        20                                                                              |                                                                  end if                                                                        21                                                                            end of module                                                                 __________________________________________________________________________

                                      Appendix F                                  __________________________________________________________________________    Shifter Control Module                                                        __________________________________________________________________________    Shifter Control Module                                                        2 |                                                                  3 |                                                                      { This module is used in conjunction with a shifting table to             4 |                                                                        determine which shift combination is required to move the               5 |                                                                        chain to the proper front and rear sprockets to achieve the             6 |                                                                        next higher or lower speed ratio. }                                     7 |                                                                  8 |                                                                  if (demand is for a lower speed ratio)                                        9 |                                                                      |                                                                find table entry for next lower speed ratio                                   10                                                                              |                                                                  else                                                                          11                                                                              |                                                                      |                                                                find table entry for next higher speed ratio                                  12                                                                              |                                                                  end if                                                                        13                                                                              |                                                                  14                                                                              |                                                                  if (table entry indicates front sprocket shift)                               15                                                                              |                                                                      |                                                                      == loop until no more shift demands in table entry                      16                                                                              |                                                                      |                                                                      |                                                              if (demand is for shift to smaller sprocket)                                  17                                                                              |                                                                      |                                                                      |                                                                      |                                                            perform (Shift Actuation - front, smaller)                                    18                                                                              |                                                                      |                                                                      |                                                              else                                                                          19                                                                              |                                                                      |                                                                      |                                                                      |                                                            perform (Shift Actuation - front, larger)                                     20                                                                              |                                                                      |                                                                      |                                                              end if                                                                        21                                                                              |                                                                      |                                                                end loop                                                                      22                                                                              |                                                                  end if                                                                        23                                                                              |                                                                  if (table entry indicates rear sprocket shift)                                24                                                                              |                                                                      |                                                                      == loop until no more shift demands in table entry                      25                                                                              |                                                                      |                                                                      |                                                              if (demand is for shift to smaller sprocket)                                  26                                                                              |                                                                      |                                                                      |                                                                      |                                                            perform (Shift Actuation - rear, smaller)                                     27                                                                              |                                                                      |                                                                      |                                                              else                                                                          28                                                                              |                                                                      |                                                                      |                                                                      |                                                            perform (Shift Actuation - rear, larger)                                      29                                                                              |                                                                      |                                                                      |                                                              end if                                                                        30                                                                              |                                                                      |                                                                end loop                                                                      31                                                                              |                                                                  end if                                                                        32                                                                            end of module                                                                 __________________________________________________________________________

                                      Appendix G                                  __________________________________________________________________________    Shift Actuation Module                                                        __________________________________________________________________________    Shift Actuation Module                                                        2 |                                                                  3 |                                                                      { This module is used for both front and rear shifters and is             4 |                                                                        called upon for whichever shifter needs actuating. For some             5 |                                                                        shifting situations both shifters must be actuated. This module         6 |                                                                        is applied to each in sequence. }                                       7 |                                                                  8 |                                                                  if (demand is for larger sprocket)                                            9 |                                                                      |                                                                      == repeat                                                               10                                                                              |                                                                      |                                                                      |                                                              move actuator toward next larger sprocket                                     11                                                                              |                                                                      |                                                                      |                                                              compare desired position with present position                                12                                                                              |                                                                      |                                                                until shifter is in desired position                                          13                                                                              |                                                                  else if (demand is for smaller sprocket)                                      14                                                                              |                                                                      |                                                                      == repeat                                                               15                                                                              |                                                                      |                                                                      |                                                              move actuator toward next smaller sprocket                                    16                                                                              |                                                                      |                                                                      |                                                              compare desired position with present position                                17                                                                              |                                                                      |                                                                until shifter is in desired position                                          18                                                                              |                                                                  end if                                                                        19                                                                            end of module                                                                 __________________________________________________________________________

                  Appendix H                                                      ______________________________________                                        User Reguest Module                                                           ______________________________________                                        User Request Module                                                           2   |                                                                3   |                                                                          { Take care of pushed switches, including the manual                4   |                                                                            override of the automatic shifter. When the controller            5   |                                                                            is in ready mode, the use of Up and Down switches will            6   |                                                                            indicate an immediate shift to the next speed ratio. }            7   |                                                                8   |                                                                if (Configure switch is actuated)                                             9   |                                                                          |                                                          turn off Ready indicator                                                      10  |                                                                          |                                                          perform (Shifter Configuration)                                               11  |                                                                          |                                                          turn on Ready indicator                                                       12  |                                                                else if (Up switch is actuated)                                               13  |                                                                          |                                                          perform (Shifter Control - higher speed ratio)                                14  |                                                                else if (Down switch is actuated)                                             15    |                                                                          |                                                        perform (Shifter Control - lower speed ratio)                                 16  |                                                                end if                                                                        17                                                                            end of module                                                                 ______________________________________                                    

What is claimed is:
 1. The method of operating a velocipede of the typecomprising a traction wheel, a manually actuated pedal crank, a drivetrain between the traction wheel and the pedal crank, a speed rangechanging power transmission operatively connected in the drive train anda control member for upshifting and downshifting the speed range of thetransmission, said method comprising the steps of:measuring the pedalcrank speed and pedal crank force, pedalling the velocipede in aselected speed range, producing a first control signal when the timeaverage value of rotational speed of the pedal crank increases to apredetermined value, initiating actuation of the control member toupshift the transmission when the first control signal is produced,producing a second control signal when the time average value of pedalcrank force increases to a predetermined value, and initiating actuationof the control member to downshift the transmission when the secondcontrol signal is produced.
 2. The method defined in claim 1 includingthe step of:determining the time average value of rotational speedduring a predetermined number of pedal crank revolutions.
 3. The methoddefined in claim 1 including the step of:determining the time averagevalue of pedal crank force during at least one pedal crank revolution.4. The method defined in claim 1 including the step of:determining thetime rate of change of speed of the pedal crank, and initiatingactuation of the control member to upshift the transmission when thetime rate of change of speed exceeds a predetermined threshold value. 5.The method defined in claim 1 including the step of:determining the timerate of change of force on the pedal crank, and initiating actuation ofthe control member to downshift the transmission when the time rate ofchange of pedal crank force exceeds a predetermined threshold value. 6.The method defined in claim 1 including the steps of:storing a shiftpattern of a set of speed ranges for the transmission and an upshiftsignal and a downshift signal for shifting from each speed range toanother speed range, storing data indicative of the engaged speed rangeof the transmission during said operation, producing, in response to thefirst control signal, an upshift signal corresponding to the storedupshift signal for the engaged speed range indicated by the stored data,and producing, in response to the second control signal, a downshiftsignal corresponding to stored downshift signal for the engaged speedindicated by the stored data.
 7. The method defined in claim 6 whereinthe transmission is capable of providing a first number of speed ranges,and wherein:in performing said step of storing a shift pattern, thenumber of speed ranges in the stored set is less than said first number.8. The method defined in claim 6 wherein the transmission is capable ofproviding a first number of speed ranges, and wherein:in performing saidstep of storing a set of speed ranges in a shift pattern, the number ofspeed ranges in the stored set is equal to or less than said firstnumber, and including the step of storing a second set of speed rangesin a second shift pattern with the number of speed ranges in the secondset being different from the number in the first set.
 9. An automaticspeed range shifter for a velocipede having a traction wheel, a manuallyactuated pedal crank, a drive train between the pedal crank and thetraction wheel and a ratio-changing transmission operatively connectedin said drive train and a control member for upshifting and downshiftingthe speed range of the transmission, said shifter comprising:means formeasuring the pedal crank speed and pedal crank force, means forproducing a first control signal when the time average value ofrotational speed of the pedal crank increases to a predetermined value,means for initiating actuation of the control member to upshift thetransmission when the first control signal is produced, means forproducing a second control signal when the time average value of pedalforce increases to a predetermined value, and means for initiatingactuation of the control member to downshift the transmission when thesecond control signal is produced.